package eps.einfacheGrafik.interna;

import java.util.HashMap;
import eps.fortgeschritteneGrafik.interna.Zeichenfenster;
import static eps.fortgeschritteneGrafik.interna.Zeichenfenster.*;

/**
 * Diese Klasse implementiert einen statischen Fensterspeicher, der lediglich
 * dazu dient, auch Anfaengern ein Inspizieren von und Experimentieren mit
 * Fenstern in der didaktischen Entwicklungsumgebung BlueJ zu ermoeglichen.
 * 
 * @author Ute Heuer 
 */
public class FensterSpeicher {
	/*---------------Attribute-----*/
	/**
	 * Haelt die internen, fortgeschrittenen Fenster zu den einfachen Fenstern
	 */
	private static HashMap<eps.einfacheGrafik.Zeichenfenster, Zeichenfenster> fensterMap = new HashMap<eps.einfacheGrafik.Zeichenfenster, Zeichenfenster>();

	/*---------------Methoden------*/
	/**
	 * Liefert das zugehoerige fortgeschrittene Fenster zu einem einfachen Fenster
	 */
	public static Zeichenfenster fortgeschrittenesFensterGeben(
			eps.einfacheGrafik.Zeichenfenster einfachesFenster) {
		if (!fensterMap.containsKey(einfachesFenster))
			return null;
		else
			return fensterMap.get(einfachesFenster);
	}

	/**
	 * Meldet ein einfaches Fenster im Speicher an
	 */
	public static void einfachesFensterAnmelden(
			eps.einfacheGrafik.Zeichenfenster einfachesFenster, int breite, int hoehe) {
		fensterMap.put(einfachesFenster, new Zeichenfenster(breite, hoehe));
	}

}
